# ==============================================================================
#
# Copyright (C) 2022 Sophgo Technologies Inc.  All rights reserved.
#
# TPU-MLIR is licensed under the 2-Clause BSD License except for the
# third-party components.
#
# ==============================================================================

# automatically generated by xlsx_to_py.py

# 2022-06-24 17:15:44

# ./BM1686_TPU_TIU_Reg6.5.xlsx
# ./GDMA_1686_DES_REG_v7.7.xlsx

reg_def = {
    "AR": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "CMP": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "CONV": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "DMA_cw_transpose": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_nstride", 160),
        ("src_cstride", 192),
        ("src_hstride", 224),
        ("src_wstride", 256),
        ("dst_nstride", 288),
        ("dst_cstride", 320),
        ("dst_hstride", 352),
        ("dst_wstride", 384),
        ("src_nsize", 400),
        ("src_csize", 416),
        ("src_hsize", 432),
        ("src_wsize", 448),
        ("dst_nsize", 464),
        ("dst_csize", 480),
        ("dst_hsize", 496),
        ("dst_wsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("Reserved", 672),
        ("Reserved", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "DMA_gather": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_cstride", 160),
        ("src_hstride", 192),
        ("dst_cstride", 224),
        ("dst_hstride", 256),
        ("index_cstride", 288),
        ("index_hstride", 320),
        ("reserved", 336),
        ("src_csize", 352),
        ("src_hsize", 384),
        ("src_wsize", 400),
        ("dst_csize", 416),
        ("dst_hsize", 448),
        ("dst_wsize", 464),
        ("index_csize", 480),
        ("index_hsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("index_start_addr_l32", 672),
        ("index_start_addr_h8", 680),
        ("reserve", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "DMA_general": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_nstride", 160),
        ("src_cstride", 192),
        ("src_hstride", 224),
        ("src_wstride", 256),
        ("dst_nstride", 288),
        ("dst_cstride", 320),
        ("dst_hstride", 352),
        ("dst_wstride", 384),
        ("src_nsize", 400),
        ("src_csize", 416),
        ("src_hsize", 432),
        ("src_wsize", 448),
        ("dst_nsize", 464),
        ("dst_csize", 480),
        ("dst_hsize", 496),
        ("dst_wsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("Reserved", 672),
        ("Reserved", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "DMA_masked_select": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("mask_data_format", 46),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_nstride", 160),
        ("src_cstride", 192),
        ("src_hstride", 224),
        ("src_wstride", 256),
        ("dst_nstride", 288),
        ("dst_cstride", 320),
        ("dst_hstride", 352),
        ("dst_wstride", 384),
        ("src_nsize", 400),
        ("src_csize", 416),
        ("src_hsize", 432),
        ("src_wsize", 448),
        ("dst_nsize", 464),
        ("dst_csize", 480),
        ("dst_hsize", 496),
        ("dst_wsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("mask_start_addr_l32", 672),
        ("mask_start_addr_h8", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "DMA_matrix": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_nstride", 160),
        ("src_cstride", 192),
        ("src_hstride", 224),
        ("src_wstride", 256),
        ("dst_nstride", 288),
        ("dst_cstride", 320),
        ("dst_hstride", 352),
        ("dst_wstride", 384),
        ("src_nsize", 400),
        ("src_csize", 416),
        ("src_hsize", 432),
        ("src_wsize", 448),
        ("dst_nsize", 464),
        ("dst_csize", 480),
        ("dst_hsize", 496),
        ("dst_wsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("Reserved", 672),
        ("Reserved", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "DMA_nonzero": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("index_data_format", 46),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_nstride", 160),
        ("src_cstride", 192),
        ("src_hstride", 224),
        ("src_wstride", 256),
        ("dst_nstride", 288),
        ("dst_cstride", 320),
        ("dst_hstride", 352),
        ("dst_wstride", 384),
        ("src_nsize", 400),
        ("src_csize", 416),
        ("src_hsize", 432),
        ("src_wsize", 448),
        ("dst_nsize", 464),
        ("dst_csize", 480),
        ("dst_hsize", 496),
        ("dst_wsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("Reserved", 672),
        ("Reserved", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "DMA_scatter": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_cstride", 160),
        ("src_hstride", 192),
        ("dst_cstride", 224),
        ("dst_hstride", 256),
        ("index_cstride", 288),
        ("index_hstride", 320),
        ("reserved", 336),
        ("src_csize", 352),
        ("src_hsize", 384),
        ("src_wsize", 400),
        ("dst_csize", 416),
        ("dst_hsize", 448),
        ("dst_wsize", 464),
        ("index_csize", 480),
        ("index_hsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("index_start_addr_l32", 672),
        ("index_start_addr_h8", 680),
        ("reserve", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "DMA_tensor（0x000）": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_nstride", 160),
        ("src_cstride", 192),
        ("src_hstride", 224),
        ("src_wstride", 256),
        ("dst_nstride", 288),
        ("dst_cstride", 320),
        ("dst_hstride", 352),
        ("dst_wstride", 384),
        ("src_nsize", 400),
        ("src_csize", 416),
        ("src_hsize", 432),
        ("src_wsize", 448),
        ("dst_nsize", 464),
        ("dst_csize", 480),
        ("dst_hsize", 496),
        ("dst_wsize", 512),
        ("src_start_addr_l32", 544),
        ("src_start_addr_h8", 552),
        ("reserved", 576),
        ("dst_start_addr_l32", 608),
        ("dst_start_addr_h8", 616),
        ("reserved", 640),
        ("Reserved", 672),
        ("Reserved", 704),
        ("localmem_mask_l32", 736),
        ("localmem_mask_h32", 768),
    ],
    "LAR": [
        ("opd0_w_str", 1),
        ("opd1_w_str", 2),
        ("opd2_const", 3),
        ("res0_prec", 6),
        ("opd0_prec", 9),
        ("opd1_prec", 12),
        ("opd2_n_str", 15),
        ("opd0_sign", 16),
        ("opd1_sign", 17),
        ("start_tid", 23),
        ("res0_c", 31),
        ("res0_w", 39),
        ("rsvd0", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("rsvd1", 51),
        ("tsk_opd_num", 53),
        ("rsvd2", 59),
        ("pwr_step", 63),
        ("rsvd3", 64),
        ("res0_addr", 80),
        ("opd0_addr", 96),
        ("opd1_addr", 112),
        ("opd2_addr", 128),
    ],
    "LIN": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "MM": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "MM2": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "PorD": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "RQ&DQ": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "SEG": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "SFU": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "SG": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "SGL": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "SYS": [
        ("rsvd0", 1),
        ("cmd_id", 21),
        ("rsvd1", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("reg_vld", 52),
        ("reg_idx", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("imm", 128),
        ("opd0_prec", 130),
        ("opd0_str", 133),
        ("opd0_n", 149),
        ("opd0_c", 165),
        ("opd0_h", 181),
        ("opd0_w", 197),
        ("opd0_addr", 229),
        ("tsk_lane_num", 293),
        ("opd2_n_str", 309),
    ],
    "SYSID": [
        ("rsvd0", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("rsvd1", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("cmd_id_eng1", 84),
        ("cmd_id_eng2", 104),
        ("cmd_id_eng3", 124),
        ("rsvd3", 128),
    ],
    "TRANS&BC": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "VC": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("eu_half_en", 51),
        ("tsk_opd_num", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res_add", 65),
        ("relu", 66),
        ("left_tran", 67),
        ("rsvd1", 68),
        ("kernel_rotate", 69),
        ("opd0_sign", 70),
        ("opd1_sign", 71),
        ("opd2_sign", 72),
        ("res0_prec", 75),
        ("opd0_prec", 78),
        ("opd1_prec", 81),
        ("opd2_prec", 84),
        ("opd0_const", 85),
        ("opd1_const", 86),
        ("opd2_const", 87),
        ("res0_str", 90),
        ("opd0_str", 93),
        ("opd1_str", 96),
        ("opd2_str", 99),
        ("res_add_sign", 100),
        ("rsvd2", 125),
        ("rsvd3", 126),
        ("opd3_const", 127),
        ("rsvd4", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_up_pad", 148),
        ("opd0_dn_pad", 152),
        ("opd0_lf_pad", 156),
        ("opd0_rt_pad", 160),
        ("res_op_x_str", 164),
        ("res_op_y_str", 168),
        ("res0_h_shift", 172),
        ("res0_w_shift", 176),
        ("opd0_h_shift", 180),
        ("opd0_w_shift", 184),
        ("opd1_h_shift", 188),
        ("opd1_w_shift", 192),
        ("tsk_lane_num", 256),
        ("res0_n", 272),
        ("res0_c", 288),
        ("res0_h", 304),
        ("res0_w", 320),
        ("opd0_n", 336),
        ("opd0_c", 352),
        ("opd0_h", 368),
        ("opd0_w", 384),
        ("opd1_n", 400),
        ("opd1_c", 416),
        ("opd1_h", 432),
        ("opd1_w", 448),
        ("res0_n_str", 464),
        ("res0_c_str", 480),
        ("opd0_n_str", 496),
        ("opd0_c_str", 512),
        ("opd1_n_str", 528),
        ("opd1_c_str", 544),
        ("opd2_n_str", 560),
        ("opd2_c_str", 576),
        ("res0_addr", 608),
        ("opd0_addr", 640),
        ("opd1_addr", 672),
        ("opd2_addr", 704),
        ("res0_h_str", 736),
        ("res0_w_str", 768),
        ("opd0_h_str", 800),
        ("opd0_w_str", 832),
        ("opd1_h_str", 864),
        ("opd1_w_str", 896),
        ("opd2_h_str", 928),
        ("opd2_w_str", 960),
        ("res1_addr", 992),
        ("opd3_addr", 1024),
    ],
    "sAR": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd0_const", 51),
        ("opd1_const", 52),
        ("opd2_const", 53),
        ("tsk_opd_num", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res0_prec", 67),
        ("opd0_prec", 70),
        ("opd1_prec", 73),
        ("opd2_prec", 76),
        ("opd0_sign", 77),
        ("opd1_sign", 78),
        ("res0_str", 81),
        ("opd0_str", 84),
        ("opd1_str", 87),
        ("opd2_n_str", 90),
        ("rsvd0", 96),
        ("res0_n", 112),
        ("res0_c", 128),
        ("res0_h", 144),
        ("res0_w", 160),
        ("res0_addr", 192),
        ("opd0_addr", 224),
        ("opd1_addr", 256),
        ("opd2_addr", 288),
        ("res0_n_str", 304),
        ("res0_c_str", 320),
        ("opd0_n_str", 336),
        ("opd0_c_str", 352),
        ("opd1_n_str", 368),
        ("opd1_c_str", 384),
        ("res0_h_str", 404),
        ("res0_w_str", 424),
        ("opd0_h_str", 444),
        ("opd2_sign", 445),
        ("rsvd1", 448),
        ("opd0_w_str", 468),
        ("opd1_h_str", 488),
        ("opd1_w_str", 508),
        ("rsvd2", 512),
    ],
    "sCMP": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd0_const", 51),
        ("opd1_const", 52),
        ("opd2_const", 53),
        ("opd3_const", 54),
        ("rsvd0", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("opd0_prec", 67),
        ("opd2_prec", 70),
        ("opd0_str", 73),
        ("opd1_str", 76),
        ("rsvd1", 127),
        ("opd0_sign", 128),
        ("res0_n", 144),
        ("res0_c", 160),
        ("res0_h", 176),
        ("res0_w", 192),
        ("res0_addr", 224),
        ("res1_addr", 256),
        ("opd0_addr", 288),
        ("opd1_addr", 320),
        ("opd2_addr", 352),
        ("opd3_addr", 384),
    ],
    "sCONV": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd0_sign", 51),
        ("opd1_sign", 52),
        ("opd2_sign", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("res_add", 64),
        ("kernel_rotate", 65),
        ("res0_prec", 68),
        ("opd0_prec", 71),
        ("opd1_const", 72),
        ("opd2_const", 73),
        ("opd0_up_pad", 77),
        ("opd0_dn_pad", 81),
        ("opd0_lf_pad", 85),
        ("opd0_rt_pad", 89),
        ("res_op_x_str", 93),
        ("res_op_y_str", 97),
        ("opd3_const", 98),
        ("opd0_str", 101),
        ("res0_addr", 127),
        ("intr_en", 128),
        ("opd0_x_ins0", 132),
        ("opd0_y_ins0", 136),
        ("opd1_x_ins0", 140),
        ("opd1_y_ins0", 144),
        ("opd0_n_str", 160),
        ("res0_n", 176),
        ("res0_c", 192),
        ("res0_h", 208),
        ("res0_w", 224),
        ("opd0_c", 240),
        ("opd0_h", 256),
        ("opd0_w", 272),
        ("opd1_h", 288),
        ("opd1_w", 304),
        ("opd0_c_str", 320),
        ("opd0_addr", 352),
        ("opd1_addr", 384),
        ("opd2_addr", 416),
        ("res1_addr", 448),
        ("opd3_addr", 480),
        ("opd0_h_str", 496),
        ("opd0_w_str", 512),
    ],
    "sDMA_general": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
        ("src_cstride(move length)", 160),
        ("dst_csize", 176),
        ("reserved", 192),
        ("src_start_addr_l32", 224),
        ("src_start_addr_h8", 232),
        ("reserved", 256),
        ("dst_start_addr_l32", 288),
        ("dst_start_addr_h8", 296),
        ("reserved", 320),
        ("localmem_mask_l32", 352),
        ("localmem_mask_h32", 384),
    ],
    "sDMA_masked_select ": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function(mask_mem)", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("mask_data_format", 46),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("src_nsize", 112),
        ("src_csize", 128),
        ("src_hsize", 144),
        ("src_wsize", 160),
        ("dst_nsize", 176),
        ("dst_csize", 192),
        ("dst_hsize", 208),
        ("dst_wsize", 224),
        ("src_start_addr_l32", 256),
        ("src_start_addr_h8", 264),
        ("reserved", 288),
        ("dst_start_addr_l32", 320),
        ("dst_start_addr_h8", 328),
        ("reserved", 352),
        ("mask_start_addr_l32", 384),
        ("mask_start_addr_h8", 416),
        ("reserved", 448),
        ("reserved", 480),
        ("reserved", 512),
    ],
    "sDMA_matrix": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("src_hstride/dst_hstride", 128),
        ("dst_nstride/src_nstride", 160),
        ("dst_cstride/src_cstride", 192),
        ("src_hsize/dst_hsize", 208),
        ("src_wsize/dst_wsize", 224),
        ("dst_nsize/src_nsize", 240),
        ("dst_csize/src_csize", 256),
        ("dst_wsize/src_wsize", 272),
        ("reserved", 288),
        ("src_start_addr_l32", 320),
        ("src_start_addr_h8", 328),
        ("reserved", 352),
        ("dst_start_addr_l32", 384),
        ("dst_start_addr_h8", 392),
        ("reserved", 416),
        ("reserved", 448),
        ("localmem_mask_l32", 480),
        ("localmem_mask_h32", 512),
    ],
    "sDMA_nonzero": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("index_data_format", 46),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("dst_nstride（base_i）", 128),
        ("src_nsize", 144),
        ("src_csize", 160),
        ("src_hsize", 176),
        ("src_wsize", 192),
        ("src_start_addr_l32", 224),
        ("src_start_addr_h8", 232),
        ("reserved", 256),
        ("dst_start_addr_l32", 288),
        ("dst_start_addr_h8", 296),
        ("reserved", 320),
        ("reserved", 352),
        ("reserved", 384),
    ],
    "sDMA_sys": [
        ("intr_en", 1),
        ("stride_enable", 2),
        ("nchw_copy", 3),
        ("cmd_short", 4),
        ("decompress_enable", 5),
        ("cmd_id_en", 9),
        ("cmd_id", 29),
        ("Reserved", 32),
        ("cmd_type", 36),
        ("cmd_special_function", 39),
        ("fill_constant_en", 40),
        ("src_data_format", 43),
        ("reserved", 64),
        ("cmd_id_dep", 84),
        ("reserved", 96),
        ("constant_value", 128),
    ],
    "sLIN": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd1_const", 51),
        ("opd2_const", 52),
        ("res0_prec", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res0_n", 80),
        ("res0_c", 96),
        ("res0_h", 112),
        ("res0_w", 128),
        ("res0_addr", 160),
        ("opd0_addr", 192),
        ("opd1_addr", 224),
        ("opd2_addr", 256),
    ],
    "sMM": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("res_add", 51),
        ("left_tran", 52),
        ("opd0_const", 53),
        ("opd2_const", 54),
        ("rsvd0", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("opd0_sign", 65),
        ("opd1_sign", 66),
        ("opd2_sign", 67),
        ("res0_prec", 70),
        ("opd0_prec", 73),
        ("opd2_n_str", 76),
        ("rsvd1", 96),
        ("rsvd2", 112),
        ("res0_c", 128),
        ("res0_w", 144),
        ("opd0_n", 160),
        ("opd0_c", 176),
        ("opd0_w", 192),
        ("rsvd3", 208),
        ("opd1_w", 224),
        ("res0_addr", 256),
        ("opd0_addr", 288),
        ("opd1_addr", 320),
        ("opd2_addr", 352),
        ("opd3_addr", 384),
    ],
    "sMM2": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd0_sign", 51),
        ("opd1_sign", 52),
        ("res0_prec", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("opd2_const", 64),
        ("res0_c", 80),
        ("res0_w", 96),
        ("opd1_c", 112),
        ("opd1_w", 128),
        ("opd0_prec", 131),
        ("opd0_const", 132),
        ("opd1_const", 133),
        ("res_add", 134),
        ("res0_addr", 159),
        ("intr_en", 160),
        ("opd0_addr", 192),
        ("opd1_addr", 224),
        ("opd2_addr", 256),
    ],
    "sPorD": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("kernel_rotate", 51),
        ("opd0_sign", 52),
        ("opd1_sign", 53),
        ("pad_mode", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("opd1_const", 64),
        ("opd2_const", 65),
        ("opd3_const", 66),
        ("res0_prec", 69),
        ("opd0_prec", 72),
        ("opd0_x_ins0", 76),
        ("opd0_y_ins0", 80),
        ("opd1_x_ins0", 84),
        ("opd1_y_ins0", 88),
        ("opd0_up_pad", 92),
        ("opd0_dn_pad", 96),
        ("opd0_lf_pad", 100),
        ("opd0_rt_pad", 104),
        ("res_op_x_str", 108),
        ("res_op_y_str", 112),
        ("opd2_n_str", 115),
        ("rsvd5", 126),
        ("opd2_sign", 127),
        ("intr_en", 128),
        ("res0_n", 144),
        ("res0_c", 160),
        ("res0_h", 176),
        ("res0_w", 192),
        ("opd0_h", 208),
        ("opd0_w", 224),
        ("opd1_h", 240),
        ("opd1_w", 256),
        ("res0_addr", 288),
        ("opd0_addr", 320),
        ("opd1_addr", 352),
        ("opd2_addr", 384),
        ("res1_addr", 416),
        ("opd3_addr", 448),
        ("rsvd6", 512),
    ],
    "sRQ&sDQ": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd0_sign", 51),
        ("opd2_sign", 52),
        ("res0_prec", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("opd1_const", 64),
        ("opd0_prec", 67),
        ("opd2_n_str", 73),
        ("res0_addr", 100),
        ("opd0_addr", 127),
        ("intr_en", 128),
        ("res0_n", 144),
        ("res0_c", 160),
        ("res0_h", 176),
        ("res0_w", 192),
        ("opd1_addr", 224),
        ("opd2_addr", 256),
    ],
    "sSEG": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("rsvd0", 52),
        ("res0_prec", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res0_c", 80),
        ("res0_w", 96),
        ("res0_addr", 128),
    ],
    "sSFU": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("rsvd0", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res0_prec", 67),
        ("opd0_prec", 70),
        ("opd2_n_str", 72),
        ("rsvd3", 80),
        ("res0_n", 96),
        ("res0_c", 112),
        ("res0_h", 128),
        ("res0_w", 144),
        ("opd1_n", 160),
        ("res0_addr", 192),
        ("opd0_addr", 224),
        ("opd1_addr", 256),
    ],
    "sSG": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd3_const", 51),
        ("intr_en", 52),
        ("opd0_str", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("opd2_const", 64),
        ("res0_n", 80),
        ("res0_c", 96),
        ("res0_h", 112),
        ("res0_w", 128),
        ("opd0_h", 144),
        ("opd0_w", 160),
        ("opd1_c", 176),
        ("opd1_w", 192),
        ("res0_prec", 195),
        ("res0_addr", 224),
        ("opd0_prec", 227),
        ("opd0_addr", 256),
        ("opd1_prec", 259),
        ("opd1_addr", 288),
        ("opd2_addr", 320),
        ("res1_addr", 352),
        ("opd3_addr", 384),
    ],
    "sSGL": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("rsvd0", 53),
        ("opd3_const", 54),
        ("intr_en", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("opd2_const", 64),
        ("res0_prec", 67),
        ("opd1_prec", 70),
        ("opd0_str", 73),
        ("rsvd1", 80),
        ("res0_n", 96),
        ("res0_c", 112),
        ("res0_h", 128),
        ("res0_w", 144),
        ("opd0_h", 160),
        ("res0_addr", 192),
        ("opd0_addr", 224),
        ("opd1_addr", 256),
        ("opd2_addr", 288),
        ("res1_addr", 320),
        ("rsvd2", 384),
    ],
    "sTRANS&sBC": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("res0_prec", 53),
        ("rsvd0", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res0_n", 80),
        ("res0_c", 96),
        ("res0_h", 112),
        ("res0_w", 128),
        ("opd0_c", 144),
        ("opd0_w", 160),
        ("rsvd2", 192),
        ("res0_addr", 224),
        ("opd0_addr", 256),
    ],
    "sVC": [
        ("cmd_short", 1),
        ("cmd_id", 21),
        ("cmd_id_dep", 41),
        ("tsk_typ", 45),
        ("tsk_eu_typ", 50),
        ("opd0_sign", 51),
        ("opd1_sign", 52),
        ("opd2_n_str", 55),
        ("cmd_id_en", 59),
        ("pwr_step", 63),
        ("intr_en", 64),
        ("res0_prec", 67),
        ("opd0_prec", 70),
        ("opd1_prec", 73),
        ("res0_addr", 105),
        ("rsvd1", 128),
        ("opd0_addr", 160),
        ("rsvd2", 176),
        ("res0_c", 192),
        ("res0_w", 208),
        ("opd0_c", 224),
        ("opd0_w", 240),
        ("opd1_w", 256),
        ("opd1_addr", 288),
        ("opd2_addr", 320),
        ("rsvd3", 384),
    ],
}
